<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class u_intencao extends CI_Controller {
    private $sessao;

    function __construct(){
        parent::__construct();
        $this->load->model("ProdutoModel");
        $this->load->model("CategoriaModel");
        $this->load->model("IntencaoModel");
        $this->load->model("Log");
        $this->load->model("Selects");

        //Verifica se está logado
        $this->load->helper("auth");
        //$this->load->helper("mail");
        $this->sessao = u_logado();
    }
    
     public function index($mensagem = ""){

        $this->load->helper("form");
        $this->load->library("form_validation");
        $this->load->helper("html");

        $intencoes = $this->Selects->getIntencaoUsuario($this->sessao->idUsuario);
                //,timestamp_time($this->input->post("datamin")),timestamp_time($this->input->post("datamax")));
        //print_r($intencaos->result());

        if( $intencoes != false ) :
            $linha = "";
            $lista = "";
             $delete = array('src'=>"images/tabelas/delete.png", 'height' => '24px', "style" => "border:0;");
            foreach( $intencoes->result() as $intencao ) :

                $paisCateg = pais_categ($intencao->idCategoria);
                if($intencao->inome == "") $inome = "Sem Nome";
                else $inome = $intencao->inome;

                if ($linha == 0)
                    $lista .= "<tr class=\"impar\">\n\t\t";
                else
                    $lista .= "<tr>\n\t\t";
                $lista .= "<td>$paisCateg</td>\n\t";
                $lista .= "<td>".anchor("usuario/u_intencao/editar/$intencao->idIntencao",$inome)."</td>\n\t";
                $lista .= "<td>".data_brasileira($intencao->dataCadastro)."</td>\n\t";
                $lista .= "<td>".anchor("cliente/u_intencao/delete/$intencao->idIntencao", img($delete))."</td>\n\t";

                if ($linha == 0 ) $linha = 1;
                else $linha = 0;
            endforeach;

        else :
            $lista = "<tr>\n\t";
            $lista .= "<td colspan=\"3\">Você não nenhum cadastro de interesse de compra</td>\n";
            $lista .= "</tr>\n";

        endif;

        if($mensagem == "sucesso") $mensagem = "\n Operação realizada com sucesso! \n";
        else $mensagem = "";

        $titulo = "Gerenciamento de Intenções";
        if($this->input->post("datamax")){
                if($this->input->post("datamin"))
                    $titulo .= " de ".data_brasileira($this->input->post("datamin"));
                $titulo .= " até ".data_brasileira($this->input->post("datamax"));
        }
        elseif($this->input->post("datamin"))
                $titulo .= " de ".data_brasileira($this->input->post("datamin"))." até Hoje";

        $dados = array(
            "titulo" => $titulo,
             "lista" => $lista,
             "mensagem" => $mensagem
            );

        $main = array(
            "dados" => $dados,
            "link" => "usuario/u_listar_intencao_view",
            );

        $this->Log->inserir(tipo_usuario(), id_tipo_usuario(),"listou", "intencao");
        $this->load->view("template",$main);
    }
    
   public function cadastrar(){
           
        $this->load->helper("form");
        $this->load->library("form_validation");

       $row = $this->CategoriaModel->getCategoriaNivel(0);
        if( $row->num_rows() > 0 ) :
            foreach($row->result() as $categoria) {
                $categorias .= "<option value=\"$categoria->idCategoria\"". set_select("categoria_1", $categoria->nome). ">$categoria->nome</option>\n";
            }
        else :
            break;
        endif;

        $dados = array(
            "titulo" => "Cadastre seu Interesse de Compra",
            "erro" => "",
            "categorias" => $categorias,
            "cap" => $cap,
            "captcha_fail" => ""
            );

        $main = array(
            "dados" => $dados,
            "link" => "usuario/u_cad_intencao_view",
            );


        //Validação dos campos
        $this->form_validation->set_rules('nome', 'Nome', 'min_length[2]');
        $this->form_validation->set_rules('descricao', 'Descrição', 'required|min_length[3]');
        $this->form_validation->set_rules('data', 'Data', 'required');
        $this->form_validation->set_rules('quantidade', 'Quantidade', 'required|numeric');
        $this->form_validation->set_rules('categoria[]', 'Categoria', 'callback_select_check');


        if ($this->form_validation->run() == false) {

//            if($this->input->post("categoria"))
//                $categoriasArray = $this->input->post("categoria");
//            elseif($idCategoria != "")
//                $categoriasArray =  $this->CategoriaModel->getCategoriaAtualPais($idCategoria);
//            if($categoriasArray){
//
//            }
            $this->load->view('template', $main);
        }
        else{

            $campos = array(
                "nome" => $this->input->post("nome"),
                "idUsuario" => $this->sessao->idUsuario,
                "descricao" => $this->input->post("descricao"),
                "data" => timestamp_time($this->input->post("data")),
                "quantidade" => $this->input->post("quantidade"),
                "dataCadastro" => timestamp()
            );
            $categoria = $this->input->post("categoria");
            $campos['idCategoria'] = $categoria[count($categoria)-1];

            $idIntencao = $this->IntencaoModel->inserir($campos);

            $this->Log->inserir(tipo_usuario(), id_tipo_usuario(), "cadastrou", "intencao", $idInserido);
            redirect("home/index/sucesso");
            
        }
    }

    public function editar($idIntencao = ""){

        if($idIntencao == "") show_404 ();

        $intencao = $this->IntencaoModel->getIntencao($idIntencao);
        if($intencao == false) show_eror("Intenc&atildeo n&atilde;o encontrada");

        $this->load->helper("form");
        $this->load->library("form_validation");

       $row = $this->CategoriaModel->getCategoriaNivel(0);
        if( $row->num_rows() > 0 ) :
            foreach($row->result() as $categoria) {
                $categorias .= "<option value=\"$categoria->idCategoria\"". set_select("categoria_1", $categoria->nome). ">$categoria->nome</option>\n";
            }
        else :
            break;
        endif;

        $dados = array(
            "titulo" => "Edição de Intenção",
            "erro" => "",
            "categorias" => $categorias,
            "intencao" => $intencao
            );

        $main = array(
            "dados" => $dados,
            "link" => "cliente/c_edit_intencao_view",
            );


        //Validação dos campos
        $this->form_validation->set_rules('nome', 'Nome', 'min_length[2]');
        $this->form_validation->set_rules('descricao', 'Descricao', 'required|min_length[3]');
        $this->form_validation->set_rules('data', 'Data', 'required');
        $this->form_validation->set_rules('quantidade', 'Qauntidade', 'numeric|required');
        $this->form_validation->set_rules('categoria[]', 'Categoria', 'callback_select_check');


        if ($this->form_validation->run() == false) {
            $this->load->view('template', $main);
        }
       else{
            $campos = array(
                "nome" => $this->input->post("nome"),
                "descricao" => $this->input->post("descricao"),
                "data" => timestamp($this->input->post("data")),
            );
            $categoria = $this->input->post("categoria");
            $campos['idCategoria'] = $categoria[count($categoria)-1];

            $idIntencao = $this->IntencaoModel->update($campos);

            $this->Log->inserir(tipo_usuario(), id_tipo_usuario(), "editou", "intencao", $idIntencao);
            redirect("usuario/u_intencao/index/sucesso");

        }
    }



     public function delete($idIntencao = ""){
        if($idProduto == "") show_error("Você precisa selecionar uma Intencao!");

        $this->IntencaoModel->delete($idIntencao);
        $this->Log->inserir(tipo_usuario(), id_tipo_usuario(), "deletou", "intencao", $idIntencao);

        redirect("usuario/u_intencao/index/sucesso");
    }


    /**
     * Método para validar campos do tipo select
     *
     * @param <type> $str
     * @return <type>
     */
    function select_check($str){
        if ($str == '0') :
            $this->form_validation->set_message('select_check', 'O campo %s não pode estar em branco');
            return FALSE;

        else :
            return TRUE;

        endif;
    }


}


